<?php

namespace app\common\model;

use think\Model;

/**
 * 基础模型
 *
 * Class BaseModel
 * @package app\common\model
 * @author kevin <1729998798@qq.com>
 * @date 2017/10/10
 */
class BaseModel extends Model {

    /**
     * 显示分页链接
     *
     * @param int $style 分页风格
     * @return string
     */
    public function showpage($style = null){
        return pagecmd('show',$style);
    }

    /**
     * 获取分页总数
     *
     * @return string
     */
    public function gettotalnum(){
        return pagecmd('gettotalnum');
    }

    public function shownowpage(){
        return pagecmd('getnowpage');
    }

    /**
     * 获取总页数
     *
     * @return string
     */
    public function gettotalpage(){
        return pagecmd('gettotalpage');
    }

	/**
	 * 读取列表
	 *  @author jjk <519169356@qq.com>
	 * 
	 *@param array $condition 查询条件
	 * 
	 * @param str $table_name 查询数据表名
	 * @param array $where 查询条件
	 * @param int $limit 查询条数
	 * @param str $order 排序方式
	 * @param str $field 查询字段
	 * @param int $rows 每页显示的条数（分页）
	 * @param int $curpage 当前页面（分页）
	 */
	public function get_list($condition = array()){
		//查询数据库表名
		if(@$condition['table']){
			$table_name = $condition['table'];
		}else{
			return false;
		}
		//查询条件
		$where = @$condition['where'] ? $condition['where'] : [];
		//显示条数
		$limit = @(int)$condition['limit'] ? (int)$condition['limit'] : 'true';
		//排序
		$order = @$condition['order'] ? $condition['order'] : '';
		//查询字段
		$field = @$condition['field'] ? $condition['field'] : '*';
		//每页显示条数（判断是否分页）
		$rows = @(int)$condition['rows'] ? (int)$condition['rows'] : null;
		//当前页码
		$curpage = @(int)$condition['curpage'] ? (int)$condition['curpage'] : null;
		
		//判断是否有分页
		if($rows && $curpage){
			$limit = $rows;
			$page = $curpage;
			//列表显示
			return M($table_name)->where($where)->order($order)->limit($limit)->page($page)->field($field)->select();
		}else{
			return M($table_name)->where($where)->order($order)->limit($limit)->field($field)->select();
		}

	}
	
	/**
	 * 读取单条记录
	 * @author jjk <519169356@qq.com>
	 * 
	 * @param array $condition 查询条件
	 * 
	 * @param str $table_name 查询数据表名
	 * @param array $where 查询条件
	 * @param str $order 排序方式
	 * @param str $field 查询字段
	 */
	public function get_one($condition = array()){
		//查询数据库表名
		if(@$condition['table']){
			$table_name = $condition['table'];
		}else{
			return false;
		}
		//查询条件
		$where = @$condition['where'] ? $condition['where'] : [];
		//排序
		$order = @$condition['order'] ? $condition['order'] : '';
		//查询字段
		$field = @$condition['field'] ? $condition['field'] : '*';
		
		$result = M($table_name)->where($where)->order($order)->field($field)->find();
		return $result;
	}


}